package IO; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Random; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.SwingConstants; import models.Bank; import models.Person; public class LogInFrame extends GenericFrame implements ActionListener { public static final String GUEST = "Guest"; public static final String ADMIN = "Admin"; private JComboBox<String> jComboBox; private JLabel jLabelWelcome; public String selectedUser = ADMIN; public LogInFrame() { super(); logInOutButton = new JButton("LOGIN"); logInOutButton.setSize(new Dimension(30, 10)); jLabelWelcome = new JLabel("Bank MANAGEMENT App ", SwingConstants.CENTER); String users[] = { ADMIN, GUEST }; jComboBox = new JComboBox<String>(users); jComboBox.setBounds(50, 50, 90, 20); jComboBox.addActionListener(this); frame.add(jLabelWelcome); frame.add(jComboBox); frame.add(logInOutButton); frame.setLayout(new GridLayout(3, 1)); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 300); frame.setLocationRelativeTo(null); frame.setVisible(true); } @Override public void actionPerformed(ActionEvent event) { @SuppressWarnings("rawtypes") JComboBox cb = (JComboBox) event.getSource(); selectedUser = (String) cb.getSelectedItem(); System.out.println(selectedUser); } // *** 1 ***/ public void errorMessageLogIn() { JPanel myPanel = new JPanel(); JLabel label = new JLabel("ERROR: invalid user"); myPanel.add(label); JOptionPane.showConfirmDialog(null, myPanel, "LogIn:", JOptionPane.OK_CANCEL_OPTION); } // *** 2 ***/ public Person queryLogInCustomer(Bank bank) { JTextField xField = new JTextField(10); // id JTextField yField = new JTextField(15); // name JPanel myPanel = new JPanel(new GridLayout(2, 1)); myPanel.add(new JLabel("ID:")); myPanel.add(xField); myPanel.add(Box.createHorizontalStrut(15)); // a spacer myPanel.add(new JLabel("NAME:")); myPanel.add(yField); int result = JOptionPane.showConfirmDialog(null, myPanel, "Please enter your log-in details", JOptionPane.OK_CANCEL_OPTION); if (result == JOptionPane.OK_OPTION) { String id, name; try { id = xField.getText(); } catch (NumberFormatException ex) { id = new Random().toString(); // invalid customer } try { name = yField.getText(); } catch (NumberFormatException ex) { name = new Random().toString(); // invalid customer } Person auxP = new Person(id, name); if (bank.bankMap.containsKey(auxP)) return auxP; return null; } return null; } }